package com.zhangmeng.service;

import com.zhangmeng.callBack.DoConnectionBegin;
import com.zhangmeng.callBack.DoConnectionLost;

/**
 * @author zm
 * @Description: 服务器接口
 * @date 2025/2/21 15:03
 * @version: 1.0
 */
public interface Server {

    //启动服务器方法
    public void Start();

    //停止服务器方法
    public void Stop();

    //开启业务服务方法
    public void Serve();

    //路由功能：给当前服务注册一个路由业务方法，供客户端链接处理使用
    public void AddRouter(int msgId, Router router);

    //设置该Server的连接创建时Hook函数
    public void SetOnConnStart(DoConnectionBegin onConnStart);

    //设置该Server的连接断开时的Hook函数
    public void SetOnConnStop(DoConnectionLost onConnStop);

    //调用连接OnConnStart Hook函数
    public void CallOnConnStart(Connection connection);

    //调用连接OnConnStop Hook函数
    public void CallOnConnStop(Connection connection);

    public ConnManager GetConnMgr();//得到链接管理

}
